﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace Jenvin.Library.Utils.Encryption
{
    /// <summary>
    ///对称加密接口
    /// </summary>
    public interface ISymEncryption
    {
        string Key { get; set; }
        /// <summary>
        /// IV 不是必须的。
        /// </summary>
        string IV { get; set; }

        string Encrypt(string input);
        string Decrypt(string input);
        /// <summary>
        /// 使用流加解密 适合大数据
        /// </summary>
        /// <param name="inputStream"></param>
        /// <param name="outputStream"></param>
        void Encrypt(Stream inputStream, Stream outputStream);
        /// <summary>
        /// 使用流加解密适合大数据
        /// </summary>
        /// <param name="inputStream"></param>
        /// <param name="outputStream"></param>
        void Decrypt(Stream inputStream, Stream outputStream);
    }
}
